package org.example.jdbc;

import java.sql.*;
import java.util.Scanner;

/**
 * 使用JDBC实现注册功能；
 * 用户在终端输入：用户名，密码，昵称，年龄
 * 返回相应：
 *  1.注册成功；
 *      INSERT INTO user（username，passowrd，nickname，age）
 *  2.用户名被占用，换一个；
 *      SELECT id FROM user WHERE username=？
 */


 public class JDBCReg {
    public static void main(String[] args) {
        try(Connection connection = DBUtil.getConnection();) {
            //接收用户输入;
            Scanner scanner=new Scanner(System.in);
            System.out.println("请输入用户名：");
            String username=scanner.nextLine();
            System.out.println("请输入密码：");
            String password=scanner.nextLine();
            System.out.println("请输入昵称：");
            String nickname=scanner.nextLine();
            System.out.println("请输入年龄：");
            int age = scanner.nextInt();
            //确认用户名是否占用
            String sql="SELECT username FROM user WHERE username=?";
            PreparedStatement preparedStatement=connection.prepareStatement(sql);
            preparedStatement.setString(1,username);
            ResultSet resultSet = preparedStatement.executeQuery();
            if(resultSet.next()){//被占用
                System.out.println("用户名重复");
            }else{//未被占用
                Statement statement = connection.createStatement();
                statement.executeUpdate("INSERT INTO user(username,password,nickname,age) " + "VALUES ('"+username+"','"+password+"','"+nickname+"',"+age+")");
                System.out.println("用户创建成功！");
            }
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
    }
}
